home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu11 / hc11help.arc / 68HC11.002 < prev    next >
Text File  |  1989-04-18  |  4KB  |  64 lines

  1. Q.    Can I develop a 68HC11A2 application with the EVB board?
  2. A:    Yes, although it will take some initial effort because the
  3.     '811A2 and EVB were not designed with each other in mind. The
  4.     first problem you will encounter is that the '811A2 normally
  5.     comes with the internal EEPROM    enabled (EERON bit erased to
  6.     logic one) and mapped at $F800->$FFFF (CONFIG erased to $FF).
  7.     This causes the empty EEPROM to conflict with the BUFFALO
  8.     monitor. If you have access to an EVM board, you can easily
  9.     reprogram CONFIG to move the EEPROM out of the way of EVB
  10.     areas (preferably put it at $2,$3,$A,or $B pages) or disable
  11.     it. If you don't have an EVM, it is harder but still can be
  12.     done. Bootstrap mode requires very few connections and BUFFALO
  13.     has an undocumented command (XBOOT - see BUFFALO 2.5 listing
  14.     page B-89 of the EVB manual) which simplifies boot loading a
  15.     short program to the '811A2 to be reprogrammed. Another
  16.     approach involves reassembling BUFFALO to reside at $A000->
  17.     $BFFF and jumpering the EVB board to come up in special test
  18.     mode with the new BUFFALO PROM in the extra socket which is
  19.     jumpered to be mapped at $A000->$BFFF. In special test mode,
  20.     the '811A2 EEPROM is initially disabled so theere are no
  21.     conflicts and memory modify can be used to reprogram CONFIG.
  22.     NOTE: This is a very superficial discussion of this procedure
  23.     and an AP-NOTE will probaply be required for all but the most
  24.     knowledgeable users.
  25.  
  26.     A second problem with using the '811A2 in an EVM is that the
  27.     memory modify etc. commands only expect EEPROM in the address
  28.     space $103F and $B600->$B7FF so these commands will work on
  29.     CONFIG but not on the 2k EEPROM in the '811A2. To solve this
  30.     problem, you could either write your own routines to control
  31.     programming and erase operations or you could look through the
  32.     BUFFALO listing and modify the address ranges for the BUFFALO
  33.     EEPROM modification commands. In BUFFALO 2.5, there are three
  34.     places the address range needs to be changed (MM, MOVE, and ERASE
  35.     commands).
  36.  
  37. Q.    I've tried everything and I cannot make the SPI do anything. What
  38.     am I doing wrong?
  39. A:    You probably forgot to set the port D data direction register.
  40.     SPI output are high impedence unless the corresponding DDRD bit
  41.     is set to 1, indicating it is an output.
  42.  
  43. Q.    What makes my program hang after I get the first interrupt?
  44. A:    Former Intel architecture users don't usually realize that
  45.     specific software actions are required to clear interrupt flags
  46.     in Motorola style architectures. The first interrupt encountered
  47.     is serviced normally but the user forgets to clear the flag which
  48.     caused the interrupt. When the RTI executed, the interrupt is
  49.     still pending so it is serviced again immediately. The program
  50.     appears to hang.
  51.  
  52. Q.    I have an external RAM which doesn't appear to work. Sometines
  53.     wrong data is written and I always get lost if I try to return
  54.     from a subroutine or an interrupt.
  55. A:    You probably forget to include E in the development of the write
  56.     enable signal for your external RAM. In multiple byte write cases
  57.     such as store D, store X, JSR, or interrupt stacking, the R/W pin
  58.     remains low continuously for all of the consecutive cycles. The RAM
  59.     you are using probably requires a rising edge on the write signal
  60.     to actually do the write operation. Thus, only the last byte in the
  61.     series is actually written. Lots of things will appear to work
  62.     normally but double byte writes, subroutine calls and interrupts
  63.     will fail.
  64.